home *** CD-ROM | disk | FTP | other *** search
/ Freelog 125 / Freelog_MarsAvril2015_No125.iso / Musique / Quod Libet / quodlibet-3.3.0-installer.exe / bin / json / tests / test_decode.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2014-12-31  |  4KB  |  79 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.7)
  3.  
  4. import decimal
  5. from StringIO import StringIO
  6. from collections import OrderedDict
  7. from json.tests import PyTest, CTest
  8.  
  9. class TestDecode(object):
  10.     
  11.     def test_decimal(self):
  12.         rval = self.loads('1.1', parse_float = decimal.Decimal)
  13.         self.assertTrue(isinstance(rval, decimal.Decimal))
  14.         self.assertEqual(rval, decimal.Decimal('1.1'))
  15.  
  16.     
  17.     def test_float(self):
  18.         rval = self.loads('1', parse_int = float)
  19.         self.assertTrue(isinstance(rval, float))
  20.         self.assertEqual(rval, 1)
  21.  
  22.     
  23.     def test_decoder_optimizations(self):
  24.         rval = self.loads('{   "key"    :    "value"    ,  "k":"v"    }')
  25.         self.assertEqual(rval, {
  26.             'key': 'value',
  27.             'k': 'v' })
  28.  
  29.     
  30.     def test_empty_objects(self):
  31.         self.assertEqual(self.loads('{}'), { })
  32.         self.assertEqual(self.loads('[]'), [])
  33.         self.assertEqual(self.loads('""'), u'')
  34.         self.assertIsInstance(self.loads('""'), unicode)
  35.  
  36.     
  37.     def test_object_pairs_hook(self):
  38.         s = '{"xkd":1, "kcw":2, "art":3, "hxm":4, "qrt":5, "pad":6, "hoy":7}'
  39.         p = [
  40.             ('xkd', 1),
  41.             ('kcw', 2),
  42.             ('art', 3),
  43.             ('hxm', 4),
  44.             ('qrt', 5),
  45.             ('pad', 6),
  46.             ('hoy', 7)]
  47.         self.assertEqual(self.loads(s), eval(s))
  48.         self.assertEqual(self.loads(s, object_pairs_hook = (lambda x: x)), p)
  49.         self.assertEqual(self.json.load(StringIO(s), object_pairs_hook = (lambda x: x)), p)
  50.         od = self.loads(s, object_pairs_hook = OrderedDict)
  51.         self.assertEqual(od, OrderedDict(p))
  52.         self.assertEqual(type(od), OrderedDict)
  53.         self.assertEqual(self.loads(s, object_pairs_hook = OrderedDict, object_hook = (lambda x: pass)), OrderedDict(p))
  54.         self.assertEqual(self.loads('{}', object_pairs_hook = OrderedDict), OrderedDict())
  55.         self.assertEqual(self.loads('{"empty": {}}', object_pairs_hook = OrderedDict), OrderedDict([
  56.             ('empty', OrderedDict())]))
  57.  
  58.     
  59.     def test_extra_data(self):
  60.         s = '[1, 2, 3]5'
  61.         msg = 'Extra data'
  62.         self.assertRaisesRegexp(ValueError, msg, self.loads, s)
  63.  
  64.     
  65.     def test_invalid_escape(self):
  66.         s = '["abc\\y"]'
  67.         msg = 'escape'
  68.         self.assertRaisesRegexp(ValueError, msg, self.loads, s)
  69.  
  70.  
  71.  
  72. class TestPyDecode(TestDecode, PyTest):
  73.     pass
  74.  
  75.  
  76. class TestCDecode(TestDecode, CTest):
  77.     pass
  78.  
  79.